Typically, video data has a very large data size. Therefore, an apparatus that handles video data compresses the video data by encoding when the apparatus transmits the video data to another apparatus or when the apparatus stores the video data in a storage device. As typical video encoding standards, Advanced Video Coding (MPEG-4 AVC|ITU-T H.264) and High Efficiency Video Coding (HEVC|ITU-T H.265) have been formulated (for example, see ‘ITU-T Recommendation H.264|ISO/IEC 14496-10 “Advanced Video Coding for generic audiovisual services”, October 2016’, and ‘ITU-T Recommendation H.265I ISO/IEC 23008-2 “High Efficiency Video Coding”, April 2015’).
In such encoding standards, a picture as an encoding target is divided into blocks. In addition, for each of the encoding target blocks, a predictive block is generated from another already-encoded picture or an already encoded area of the encoding target picture, and redundancy is reduced by encoding a difference between the encoding target block and the predictive block.
In addition, in such encoding standards, an inter-predictive coding scheme using a reference picture (also referred to as a local decoding picture) obtained by decoding another already-encoded picture is used when a predictive block is generated. In the inter-predictive coding scheme, for the encoding target block, an area the most similar to the reference picture is obtained as a reference block in order to compensate for the movement between pictures. In addition, a predictive block is generated based on the reference block. In the inter-predictive coding scheme, typically, a higher compression efficiency than that of an intra-predictive coding scheme in which a predictive block is generated from an already-encoded area of the encoding target picture may be achieved.
The inter-predictive coding scheme includes a bi-predictive mode in which a single predictive block is generated using two reference blocks and a uni-predictive mode in which a predictive block is generated using a single reference block. One of the two reference blocks used in the bi-predictive mode may be included in a reference picture before an encoding target picture in order of display time, and the other reference block may be included in a reference picture after the encoding target picture in order of the display time. In addition, the two reference blocks may be respectively included in two different reference pictures before the encoding target picture in order of the display time, or may be respectively included in two different reference pictures after the encoding target picture in order of the display time. When the bi-predictive mode is used, in the video encoding apparatus, the influence of imagining noise and encoding noise included in the reference block is reduced, and a predictive block having higher accuracy may be created. As a result, the encoding efficiency is improved. In the uni-predictive mode, the video encoding apparatus may generate a predictive block using one of the two reference blocks used in the bi-predictive mode, and for example, in HEVC, the predictions are respectively referred to as L0 prediction and L1 prediction. The L0 prediction and the L1 prediction are used when there is merely a single reference picture or when there does not exist an area similar to an encoding target block, which is to be a reference block in one of the reference pictures.
In the encoding standard such as MPEG-4 AVC or HEVC, in order to efficiently apply the coding schemes and suppress propagation of an error due to encoding between pictures, three types of pictures such as an I picture, a P picture, and a B picture are used. The I picture is a picture encoded merely using the intra-predictive coding scheme from among the inter-predictive coding scheme and the intra-predictive coding scheme. The P picture is a picture encoded using the uni-predictive mode (L0/L1 prediction) or the intra-predictive coding scheme. In addition, the B picture is a picture encoded using any of the intra-predictive coding scheme, the uni-predictive mode, and the bi-predictive mode. In the P picture and the B picture, usage of one of the coding schemes and the predictive modes, which is allowed to be applied, may be switched for each block.